// Apartment Bookings Timeline Dataset
// A couple of months of data with events between one day and two weeks long
// Resources are the various apartments
// Some apartments have mostly short stays (1-3 days), others have longer stays (5-14 days)

import { addDays } from 'date-fns/addDays';

// Timeline starts July 1, 2025
export const defaultVisibleDate = new Date('2025-07-01T00:00:00');

// Helper to create dates relative to the start
const date = (dayOffset) => {
  return addDays(defaultVisibleDate, dayOffset);
};

export const resources = [
  { title: 'Ocean View Suite', id: 'ocean-suite', eventColor: 'blue' },
  { title: 'Mountain Chalet', id: 'mountain-chalet', eventColor: 'jade' },
  { title: 'City Loft', id: 'city-loft', eventColor: 'violet' },
  { title: 'Garden Studio', id: 'garden-studio', eventColor: 'lime' },
  { title: 'Penthouse', id: 'penthouse', eventColor: 'orange' },
  { title: 'Beach House', id: 'beach-house', eventColor: 'cyan' },
  { title: 'Lakeside Cabin', id: 'lakeside-cabin', eventColor: 'indigo' },
  { title: 'Downtown Apartment', id: 'downtown-apt', eventColor: 'pink' },
  { title: 'Riverside Villa', id: 'riverside-villa', eventColor: 'mauve' },
  { title: 'Hillside Retreat', id: 'hillside-retreat', eventColor: 'red' },
];

export const initialEvents = [
  // ============================================
  // OCEAN VIEW SUITE - Long stays (7-14 days) - vacation property
  // ============================================
  {
    id: 'ocean-1',
    start: date(0),
    end: date(10),
    title: 'Smith Family',
    resource: 'ocean-suite',
    allDay: true,
  },
  {
    id: 'ocean-2',
    start: date(10),
    end: date(21),
    title: 'Johnson Group',
    resource: 'ocean-suite',
    allDay: true,
  },
  {
    id: 'ocean-3',
    start: date(25),
    end: date(35),
    title: 'Williams Party',
    resource: 'ocean-suite',
    allDay: true,
  },
  {
    id: 'ocean-4',
    start: date(38),
    end: date(52),
    title: 'Brown Family',
    resource: 'ocean-suite',
    allDay: true,
  },
  {
    id: 'ocean-5',
    start: date(55),
    end: date(62),
    title: 'Jones Couple',
    resource: 'ocean-suite',
    allDay: true,
  },
  {
    id: 'ocean-6',
    start: date(65),
    end: date(76),
    title: 'Garcia Family',
    resource: 'ocean-suite',
    allDay: true,
  },
  {
    id: 'ocean-7',
    start: date(80),
    end: date(90),
    title: 'Miller Party',
    resource: 'ocean-suite',
    allDay: true,
  },
  // ============================================
  // MOUNTAIN CHALET - Long stays (7-14 days) - vacation property
  // ============================================
  {
    id: 'mountain-1',
    start: date(0),
    end: date(14),
    title: 'Davis Group',
    resource: 'mountain-chalet',
    allDay: true,
  },
  {
    id: 'mountain-2',
    start: date(14),
    end: date(21),
    title: 'Rodriguez Family',
    resource: 'mountain-chalet',
    allDay: true,
  },
  {
    id: 'mountain-3',
    start: date(25),
    end: date(37),
    title: 'Martinez Couple',
    resource: 'mountain-chalet',
    allDay: true,
  },
  {
    id: 'mountain-4',
    start: date(40),
    end: date(50),
    title: 'Hernandez Family',
    resource: 'mountain-chalet',
    allDay: true,
  },
  {
    id: 'mountain-5',
    start: date(53),
    end: date(67),
    title: 'Lopez Party',
    resource: 'mountain-chalet',
    allDay: true,
  },
  {
    id: 'mountain-6',
    start: date(70),
    end: date(77),
    title: 'Gonzalez Group',
    resource: 'mountain-chalet',
    allDay: true,
  },
  {
    id: 'mountain-7',
    start: date(80),
    end: date(92),
    title: 'Wilson Family',
    resource: 'mountain-chalet',
    allDay: true,
  },
  // ============================================
  // CITY LOFT - Short stays (1-3 days) - business/urban property
  // ============================================
  {
    id: 'loft-1',
    start: date(0),
    end: date(2),
    title: 'Anderson Couple',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-2',
    start: date(2),
    end: date(4),
    title: 'Thomas Party',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-3',
    start: date(4),
    end: date(5),
    title: 'Taylor Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-4',
    start: date(7),
    end: date(9),
    title: 'Moore Group',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-5',
    start: date(10),
    end: date(13),
    title: 'Jackson Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-6',
    start: date(14),
    end: date(16),
    title: 'Martin Couple',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-7',
    start: date(18),
    end: date(20),
    title: 'Lee Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-8',
    start: date(21),
    end: date(22),
    title: 'Perez Party',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-9',
    start: date(24),
    end: date(27),
    title: 'Thompson Group',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-10',
    start: date(28),
    end: date(30),
    title: 'White Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-11',
    start: date(32),
    end: date(34),
    title: 'Harris Couple',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-12',
    start: date(35),
    end: date(36),
    title: 'Sanchez Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-13',
    start: date(38),
    end: date(41),
    title: 'Clark Party',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-14',
    start: date(43),
    end: date(45),
    title: 'Ramirez Group',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-15',
    start: date(47),
    end: date(49),
    title: 'Lewis Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-16',
    start: date(50),
    end: date(52),
    title: 'Robinson Couple',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-17',
    start: date(55),
    end: date(57),
    title: 'Walker Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-18',
    start: date(58),
    end: date(59),
    title: 'Young Party',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-19',
    start: date(62),
    end: date(65),
    title: 'Allen Group',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-20',
    start: date(68),
    end: date(70),
    title: 'King Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-21',
    start: date(72),
    end: date(74),
    title: 'Wright Couple',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-22',
    start: date(76),
    end: date(78),
    title: 'Scott Family',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-23',
    start: date(80),
    end: date(82),
    title: 'Torres Party',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-24',
    start: date(84),
    end: date(86),
    title: 'Nguyen Group',
    resource: 'city-loft',
    allDay: true,
  },
  {
    id: 'loft-25',
    start: date(88),
    end: date(90),
    title: 'Hill Family',
    resource: 'city-loft',
    allDay: true,
  },
  // ============================================
  // GARDEN STUDIO - Short stays (1-3 days) - urban property
  // ============================================
  {
    id: 'garden-1',
    start: date(0),
    end: date(1),
    title: 'Flores Couple',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-2',
    start: date(2),
    end: date(5),
    title: 'Green Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-3',
    start: date(6),
    end: date(8),
    title: 'Adams Party',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-4',
    start: date(9),
    end: date(11),
    title: 'Nelson Group',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-5',
    start: date(12),
    end: date(14),
    title: 'Baker Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-6',
    start: date(15),
    end: date(17),
    title: 'Hall Couple',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-7',
    start: date(19),
    end: date(21),
    title: 'Rivera Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-8',
    start: date(22),
    end: date(23),
    title: 'Campbell Party',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-9',
    start: date(25),
    end: date(28),
    title: 'Mitchell Group',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-10',
    start: date(30),
    end: date(32),
    title: 'Carter Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-11',
    start: date(33),
    end: date(35),
    title: 'Roberts Couple',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-12',
    start: date(37),
    end: date(39),
    title: 'Phillips Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-13',
    start: date(40),
    end: date(42),
    title: 'Evans Party',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-14',
    start: date(44),
    end: date(46),
    title: 'Turner Group',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-15',
    start: date(48),
    end: date(50),
    title: 'Diaz Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-16',
    start: date(52),
    end: date(54),
    title: 'Parker Couple',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-17',
    start: date(56),
    end: date(58),
    title: 'Cruz Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-18',
    start: date(60),
    end: date(62),
    title: 'Edwards Party',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-19',
    start: date(65),
    end: date(67),
    title: 'Collins Group',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-20',
    start: date(70),
    end: date(72),
    title: 'Reyes Family',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-21',
    start: date(75),
    end: date(77),
    title: 'Stewart Couple',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-22',
    start: date(80),
    end: date(82),
    title: 'Morris Party',
    resource: 'garden-studio',
    allDay: true,
  },
  {
    id: 'garden-23',
    start: date(85),
    end: date(87),
    title: 'Morales Group',
    resource: 'garden-studio',
    allDay: true,
  },
  // ============================================
  // PENTHOUSE - Long stays (7-14 days) - luxury vacation property
  // ============================================
  {
    id: 'pent-1',
    start: date(0),
    end: date(12),
    title: 'Murphy Family',
    resource: 'penthouse',
    allDay: true,
  },
  {
    id: 'pent-2',
    start: date(15),
    end: date(25),
    title: 'Cook Couple',
    resource: 'penthouse',
    allDay: true,
  },
  {
    id: 'pent-3',
    start: date(28),
    end: date(40),
    title: 'Rogers Party',
    resource: 'penthouse',
    allDay: true,
  },
  {
    id: 'pent-4',
    start: date(43),
    end: date(55),
    title: 'Gutierrez Group',
    resource: 'penthouse',
    allDay: true,
  },
  {
    id: 'pent-5',
    start: date(58),
    end: date(65),
    title: 'Ortiz Family',
    resource: 'penthouse',
    allDay: true,
  },
  {
    id: 'pent-6',
    start: date(70),
    end: date(82),
    title: 'Morgan Couple',
    resource: 'penthouse',
    allDay: true,
  },
  {
    id: 'pent-7',
    start: date(85),
    end: date(92),
    title: 'Cooper Party',
    resource: 'penthouse',
    allDay: true,
  },
  // ============================================
  // BEACH HOUSE - Long stays (7-14 days) - vacation property
  // ============================================
  {
    id: 'beach-1',
    start: date(0),
    end: date(14),
    title: 'Peterson Group',
    resource: 'beach-house',
    allDay: true,
  },
  {
    id: 'beach-2',
    start: date(14),
    end: date(21),
    title: 'Bailey Family',
    resource: 'beach-house',
    allDay: true,
  },
  {
    id: 'beach-3',
    start: date(24),
    end: date(35),
    title: 'Reed Couple',
    resource: 'beach-house',
    allDay: true,
  },
  {
    id: 'beach-4',
    start: date(38),
    end: date(50),
    title: 'Kelly Party',
    resource: 'beach-house',
    allDay: true,
  },
  {
    id: 'beach-5',
    start: date(53),
    end: date(60),
    title: 'Howard Group',
    resource: 'beach-house',
    allDay: true,
  },
  {
    id: 'beach-6',
    start: date(63),
    end: date(77),
    title: 'Ramos Family',
    resource: 'beach-house',
    allDay: true,
  },
  {
    id: 'beach-7',
    start: date(80),
    end: date(90),
    title: 'Kim Couple',
    resource: 'beach-house',
    allDay: true,
  },
  // ============================================
  // LAKESIDE CABIN - Long stays (7-14 days) - vacation property
  // ============================================
  {
    id: 'lake-1',
    start: date(0),
    end: date(10),
    title: 'Cox Party',
    resource: 'lakeside-cabin',
    allDay: true,
  },
  {
    id: 'lake-2',
    start: date(12),
    end: date(26),
    title: 'Ward Group',
    resource: 'lakeside-cabin',
    allDay: true,
  },
  {
    id: 'lake-3',
    start: date(29),
    end: date(36),
    title: 'Richardson Family',
    resource: 'lakeside-cabin',
    allDay: true,
  },
  {
    id: 'lake-4',
    start: date(40),
    end: date(52),
    title: 'Watson Couple',
    resource: 'lakeside-cabin',
    allDay: true,
  },
  {
    id: 'lake-5',
    start: date(55),
    end: date(65),
    title: 'Brooks Party',
    resource: 'lakeside-cabin',
    allDay: true,
  },
  {
    id: 'lake-6',
    start: date(68),
    end: date(78),
    title: 'Chavez Group',
    resource: 'lakeside-cabin',
    allDay: true,
  },
  {
    id: 'lake-7',
    start: date(81),
    end: date(92),
    title: 'Wood Family',
    resource: 'lakeside-cabin',
    allDay: true,
  },
  // ============================================
  // DOWNTOWN APARTMENT - Short stays (1-3 days) - business property
  // ============================================
  {
    id: 'downtown-1',
    start: date(0),
    end: date(2),
    title: 'James Couple',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-2',
    start: date(2),
    end: date(4),
    title: 'Bennett Party',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-3',
    start: date(5),
    end: date(7),
    title: 'Gray Group',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-4',
    start: date(8),
    end: date(10),
    title: 'Mendoza Family',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-5',
    start: date(11),
    end: date(13),
    title: 'Ruiz Couple',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-6',
    start: date(15),
    end: date(17),
    title: 'Hughes Party',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-7',
    start: date(18),
    end: date(19),
    title: 'Price Group',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-8',
    start: date(21),
    end: date(24),
    title: 'Alvarez Family',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-9',
    start: date(25),
    end: date(27),
    title: 'Castillo Couple',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-10',
    start: date(28),
    end: date(30),
    title: 'Sanders Party',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-11',
    start: date(32),
    end: date(34),
    title: 'Patel Group',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-12',
    start: date(35),
    end: date(37),
    title: 'Myers Family',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-13',
    start: date(38),
    end: date(40),
    title: 'Long Couple',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-14',
    start: date(42),
    end: date(44),
    title: 'Foster Party',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-15',
    start: date(45),
    end: date(46),
    title: 'Jimenez Group',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-16',
    start: date(48),
    end: date(51),
    title: 'Powell Family',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-17',
    start: date(53),
    end: date(55),
    title: 'Jenkins Couple',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-18',
    start: date(57),
    end: date(59),
    title: 'Perry Party',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-19',
    start: date(61),
    end: date(63),
    title: 'Russell Group',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-20',
    start: date(65),
    end: date(67),
    title: 'Sullivan Family',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-21',
    start: date(69),
    end: date(71),
    title: 'Bell Couple',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-22',
    start: date(73),
    end: date(75),
    title: 'Coleman Party',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-23',
    start: date(78),
    end: date(80),
    title: 'Butler Group',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-24',
    start: date(82),
    end: date(84),
    title: 'Barnes Family',
    resource: 'downtown-apt',
    allDay: true,
  },
  {
    id: 'downtown-25',
    start: date(86),
    end: date(88),
    title: 'Fisher Couple',
    resource: 'downtown-apt',
    allDay: true,
  },
  // ============================================
  // RIVERSIDE VILLA - Long stays (7-14 days) - vacation property
  // ============================================
  {
    id: 'river-1',
    start: date(0),
    end: date(9),
    title: 'Henderson Party',
    resource: 'riverside-villa',
    allDay: true,
  },
  {
    id: 'river-2',
    start: date(12),
    end: date(25),
    title: 'Wallace Group',
    resource: 'riverside-villa',
    allDay: true,
  },
  {
    id: 'river-3',
    start: date(28),
    end: date(38),
    title: 'Woods Family',
    resource: 'riverside-villa',
    allDay: true,
  },
  {
    id: 'river-4',
    start: date(42),
    end: date(52),
    title: 'Mason Couple',
    resource: 'riverside-villa',
    allDay: true,
  },
  {
    id: 'river-5',
    start: date(55),
    end: date(67),
    title: 'Dixon Party',
    resource: 'riverside-villa',
    allDay: true,
  },
  {
    id: 'river-6',
    start: date(70),
    end: date(80),
    title: 'Hunt Group',
    resource: 'riverside-villa',
    allDay: true,
  },
  {
    id: 'river-7',
    start: date(83),
    end: date(92),
    title: 'Palmer Family',
    resource: 'riverside-villa',
    allDay: true,
  },
  // ============================================
  // HILLSIDE RETREAT - Long stays (7-14 days) - vacation property
  // ============================================
  {
    id: 'hill-1',
    start: date(0),
    end: date(11),
    title: 'Grant Couple',
    resource: 'hillside-retreat',
    allDay: true,
  },
  {
    id: 'hill-2',
    start: date(14),
    end: date(28),
    title: 'Stone Party',
    resource: 'hillside-retreat',
    allDay: true,
  },
  {
    id: 'hill-3',
    start: date(31),
    end: date(38),
    title: 'Webb Group',
    resource: 'hillside-retreat',
    allDay: true,
  },
  {
    id: 'hill-4',
    start: date(42),
    end: date(55),
    title: 'Ford Family',
    resource: 'hillside-retreat',
    allDay: true,
  },
  {
    id: 'hill-5',
    start: date(58),
    end: date(68),
    title: 'Hayes Couple',
    resource: 'hillside-retreat',
    allDay: true,
  },
  {
    id: 'hill-6',
    start: date(72),
    end: date(85),
    title: 'Warren Party',
    resource: 'hillside-retreat',
    allDay: true,
  },
  {
    id: 'hill-7',
    start: date(88),
    end: date(95),
    title: 'Dunn Group',
    resource: 'hillside-retreat',
    allDay: true,
  },
];
